Compiling Constraint Handling Rules
نویسنده
چکیده
We introduce the most recent and advanced implementation of CHR which improves both on previous implementations (in terms of completeness, ex-ibility and eeciency) and on the principles that should guide such an implementation. The idea is to have three rather independent phases of the compiler that utilize templates to generate the code and macros to specialize it. Moreover, our new implementation of CHR emphasizes the need for and power of attributed variables. We compile constraints into clauses and store them in attributes of variables. This is the rst paper (besides from a lengthy technical report) that describes the implementation of CHR.
منابع مشابه
Compiling Constraint Handling Rules into Prolog with Attributed Variables
We introduce the most recent and advanced implementation of constraint handling rules (CHR) in a logic programming language, which improves both on previous implementations (in terms of completeness , exibility and eeciency) and on the principles that should guide such a Prolog implementation consisting of a runtime system and a compiler. The runtime system utilizes attributed variables for the...
متن کاملCompiling Constraint Handling Rules to Java: A Reconstruction
In this report, we provide a detailed description of the compilation scheme the K.U.Leuven JCHR system uses to compile CHR to efficient Java code. We start from a relatively straightforward adaptation of the traditional CHR compilation scheme for Prolog, and gradually add all its basic optimizations. Next, we show why this compilation scheme is not suited for compilation to an imperative host l...
متن کاملCompiling Constraint Handling Rules for Efficient Tabled Evaluation
Tabled resolution, which alleviates some of Prolog’s termination problems, makes it possible to create practical applications from high-level declarative specifications. Constraint Handling Rules (CHR) is an elegant framework for implementing constraint solvers from high-level specifications, and is available in many Prolog systems. However, applications combining the power of these two declara...
متن کاملCadmium: An Implementation of ACD Term Rewriting
Cadmium is a rule based programming language for compiling solver independent constraint models to various solver dependent back-ends. Cadmium is based on a hybrid between Constraint Handling Rules (CHR) and term rewriting modulo Associativity, Commutativity and a restricted form of Distributivity (ACD) called Conjunctive Context (CC). Experience with using Cadmium in the G12 project shows that...
متن کاملTransforming Coroutining Logic Programs into Equivalent CHR Programs
We extend a technique called Compiling Control. The technique transforms coroutining logic programs into logic programs that, when executed under the standard left-to-right selection rule (and not using any delay features) have the same computational behavior as the coroutining program. In recent work, we revised Compiling Control and reformulated it as an instance of Abstract Conjunctive Parti...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011